package com.example.kotlinstudy.knowledges

// 入口函数
fun main() {
    // 定义一个泛型类
    class Box<T>(t: T) {
        var value = t
    }
    // 实例化 T为 Number
// val box: Box<Number> = Box<Number>(10)
//    val box: Box<String> = Box<String>("123")
    val box = Box("123")

    // 定义1个泛型类，有2个泛型参数
    class Person<T, U>(t: T, u: U) {
        var value = t
        var value2 = u
    }
    // 实例化 类型1 数字，类型2 字符串
    // 如果可以推断出来，可以省略类型参数不写
    val person = Person(10, "张三")

    // List的泛型
//    val list: List<String> = listOf("1", "2", "3")
    val list = listOf("1", "2", "3")
}
